export default class StaticResource{
    constructor(){
        // 1.存储资源对象
        this.images = {}

    }
    // 资源加载方法
    loadResource(jsonUrl,callback){
        // 2.发送ajax请求
        var xhr = new XMLHttpRequest();
        xhr.open('get',jsonUrl,true);
        xhr.send(null)
        xhr.addEventListener('readystatechange',()=>{
            
            if(xhr.readyState===4){
                if(xhr.status>=200 && xhr.status<300 || xhr.status===304){
                    // 2.1 转为对象
                    let jsonArr = JSON.parse(xhr.responseText)
                    // 2.2 当前加载完成的数量
                    let currentLoadNum = 0;
                    // 2.3 加载完成的图片对象
                    let imgObj ={}
                    // 2.4 获取总数
                    let total = jsonArr['images'].length
                    // 2.5 循环图片，返回值
                    jsonArr['images'].forEach(item => {
                        let img = new Image()
                        img.src=item.src;
                        img.addEventListener('load',()=>{
                            currentLoadNum++;
                            imgObj[item.name] = img;
                            callback && callback(currentLoadNum,total,imgObj)
                        })
                    });
                }
            }
        })
    }
}